// Node.js 的大部分核心 API 都是围绕惯用的异步事件驱动架构构建的，在该架构中，某些类型的对象（称为"触发器"）触发命名事件，使 Function 对象（"监听器"）被调用。

// events本身是一个类
const EventEmitter = require("events");

class MyEmitter extends EventEmitter {}

// 创建了一个子类实例
const myEmitter = new MyEmitter();

// 发布
// (num = 1)表示函数默认值
// once表示只被触发一次
myEmitter.once("event", (num, n) => {
  console.log("an event occurred!" + (num || 1) + n);
});
// 订阅
// 第一个参数就是事件名称
myEmitter.emit("event", 123, 4);
myEmitter.emit("event");
myEmitter.emit("event");
